package com.flow.service;

import java.util.Map;

import com.flow.model.PagerModel;
import com.flow.model.UserBasic;

/**
 * 会员基本信息服务接口
 * 
 * @author wang
 * @2015-12-5 IUserBasicService.java
 * @param <T>
 * 
 */
public interface IUserBasicService<T> {

	/**
	 * 添加会员基本信息
	 * 
	 * @param userBasic
	 *            添加会员基本信息对象
	 * @return boolean 返回结果
	 * 
	 */
	public boolean insertUserBasic(UserBasic userBasic);

	/**
	 * 验证登录名
	 * 
	 * @param loginId
	 *            需要验证的Id
	 * @return boolean 返回结果
	 * 
	 */
	public boolean validateId(String loginId);

	/**
	 * 验证电话号码
	 * 
	 * @param telphone
	 *            需要验证的电话号码
	 * @return boolean 返回结果
	 * 
	 */
	public boolean validateTelphone(String telphone);

	/**
	 * 验证邮箱
	 * 
	 * @param email
	 *            需要验证的邮箱
	 * @return boolean 返回结果
	 * 
	 */
	public boolean validateEmail(String email);

	/**
	 * 更新用户信息
	 * 
	 * @param userBasic
	 *            用户对象
	 * @return boolean 返回结果
	 * 
	 */
	public boolean updateUserBasic(UserBasic userBasic);

	/**
	 * 删除用户信息
	 * 
	 * @param userBasic
	 *            用户对象
	 * @return boolean 返回结果
	 * 
	 */
	public boolean deleteUserBasic(UserBasic userBasic);

	/**
	 * 获取用户列表
	 * 
	 * @param map
	 *            条件集合
	 * @return PagerModel 分页对象
	 * 
	 */
	public PagerModel findUserBasic(Map<String, Object> map);

	/**
	 * 根据Id查询
	 * 
	 * @param ubId
	 *            用户ID
	 * @return UserBasic 用户基本信息对象
	 * 
	 */
	public UserBasic findUserBasicById(String ubId);

	/**
	 * 登录方法
	 * 
	 * @param loginName
	 *            登录名
	 * @return UserBasic
	 * 
	 */
	public UserBasic login(String loginName);
	
	/**
	 * 更新最后登录时间
	 * @param ubId
	 * @return boolean	
	 *
	 */
	public boolean updateLastTime(String ubId);
}
